$(document).ready(function() {
	// 字符验证         
		jQuery.validator.addMethod("stringCheck",
				function(value, element) {
					return this.optional(element)
							|| /^[\u0391-\uFFE5\w]+$/.test(value);
				}, "只能包括中文字、英文字母、数字和下划线");

		// 中文字两个字节         
		jQuery.validator.addMethod("byteRangeLength", function(value, element,
				param) {
			var length = value.length;
			for ( var i = 0; i < value.length; i++) {
				if (value.charCodeAt(i) > 127) {
					length++;
				}
			}
			return this.optional(element)
					|| (length >= param[0] && length <= param[1]);
		}, "请确保输入的值在3-15个字节之间(一个中文字算2个字节)");
        //结合dwr框架验证姓名是否存在
		jQuery.validator.addMethod("checkName", function(value, element) {
			var flag = false;
			dwr.engine.setAsync(false);
			studentService.isExistName(value,"add",function(data) {
				flag = !data;
			});
			dwr.engine.setAsync(true);
			return flag;
		}, "用户名已经存在，请重新输入!");
		jQuery.validator.addMethod("checkNameForUpdate", function(value, element) {
			var flag = false;
			dwr.engine.setAsync(false);
			var temp=document.getElementById("stuname").value==value;
			studentService.isExistName(value+":"+temp,"update",function(data) {
				flag = !data;
			});
			dwr.engine.setAsync(true);
			return flag;
		}, "用户名已经存在，请重新输入!");
		// 验证年龄 1-149之间   
		jQuery.validator.addMethod("ageCheck", function(value, element) {
			return this.optional(element)
					|| /^([1-9]{1}|[1-9]{1}[0-9]{1}|1[1-4]{1}[0-9]{1})$/
							.test(value);
		}, "只能1-149之间的数字!");

		// 验证性别 
		jQuery.validator.addMethod("sexCheck",
				function(value, element) {
					return this.optional(element)
							|| /^[\u4E00-\u9FFF]{1}$/.test(value);
				}, "只能是一个汉字");
		//// 身份证号码验证         
		//jQuery.validator.addMethod("isIdCardNo", function(value, element) {         
		//    return this.optional(element) || isIdCardNo(value);         
		//}, "请正确输入您的身份证号码");      
		//       
		//// 手机号码验证         
		//jQuery.validator.addMethod("isMobile", function(value, element) {         
		//    var length = value.length;     
		//    var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$/;     
		//    return this.optional(element) || (length == 11 && mobile.test(value));         
		//}, "请正确填写您的手机号码");         
		//       
		//// 电话号码验证         
		//jQuery.validator.addMethod("isTel", function(value, element) {         
		//    var tel = /^\d{3,4}-?\d{7,9}$/;    //电话号码格式010-12345678     
		//    return this.optional(element) || (tel.test(value));         
		//}, "请正确填写您的电话号码");     
		//    
		//// 联系电话(手机/电话皆可)验证     
		//jQuery.validator.addMethod("isPhone", function(value,element) {     
		//    var length = value.length;     
		//    var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$/;     
		//    var tel = /^\d{3,4}-?\d{7,9}$/;     
		//    return this.optional(element) || (tel.test(value) || mobile.test(value));     
		//    
		//}, "请正确填写您的联系电话");     
		//       
		//// 邮政编码验证         
		//jQuery.validator.addMethod("isZipCode", function(value, element) {         
		//    var tel = /^[0-9]{6}$/;         
		//    return this.optional(element) || (tel.test(value));         
		//}, "请正确填写您的邮政编码");      

		//开始验证     studentUpdateForm
		$("#studentForm").validate( {
			/**//* 设置验证规则 */
			rules : {
				"stu.name" : {
					required : true,
					stringCheck : true,
					//checkName : true,
					byteRangeLength : [ 3, 15 ]
				},
				"stu.age" : {
					required : true,
					ageCheck : true
				},
				"stu.sex" : {
					required : true,
					sexCheck : true
				},
				"stu.address" : {
					required : true,
					stringCheck : true,
					byteRangeLength : [ 3, 100 ]
				}
			},

			//设置错误信息
			messages : {
				"stu.name" : {
					required : "请填写用户名",
					stringCheck : "用户名只能包括中文字、英文字母、数字和下划线",
					checkName : "该姓名已经存在",
					byteRangeLength : "用户名必须在3-15个字符之间(一个中文字算2个字符)"
				},
				"stu.age" : {
					required : "请输入年龄",
					email : "请输入1-149之间的数字"
				},
				"stu.sex" : {
					required : "请输入您的性别",
					isPhone : "请输入一个汉字"
				},
				"stu.address" : {
					required : "请输入您的联系地址",
					stringCheck : "请正确输入您的联系地址",
					byteRangeLength : "请详实您的联系地址以便于我们联系您"
				}
			},
			errorPlacement : function(error, element) {
				element.parent().find("span").html(error)
			},
			success : function(label) {
				label.html("&nbsp;").addClass("ok");
			}
		});
	    //开始验证 修改页面  
		$("#studentUpdateForm").validate( {
			/**//* 设置验证规则 */
			rules : {
				"stu.name" : {
					required : true,
					stringCheck : true,
					//checkNameForUpdate : true,
					byteRangeLength : [ 3, 15 ]
				},
				"stu.age" : {
					required : true,
					ageCheck : true
				},
				"stu.sex" : {
					required : true,
					sexCheck : true
				},
				"stu.address" : {
					required : true,
					stringCheck : true,
					byteRangeLength : [ 3, 100 ]
				}
			},

			//设置错误信息
			messages : {
				"stu.name" : {
					required : "请填写用户名",
					stringCheck : "用户名只能包括中文字、英文字母、数字和下划线",
					checkNameForUpdate : "该姓名已经存在",
					byteRangeLength : "用户名必须在3-15个字符之间(一个中文字算2个字符)"
				},
				"stu.age" : {
					required : "请输入年龄",
					email : "请输入1-149之间的数字"
				},
				"stu.sex" : {
					required : "请输入您的性别",
					isPhone : "请输入一个汉字"
				},
				"stu.address" : {
					required : "请输入您的联系地址",
					stringCheck : "请正确输入您的联系地址",
					byteRangeLength : "请详实您的联系地址以便于我们联系您"
				}
			},
			errorPlacement : function(error, element) {
				element.parent().find("span").html(error)
			},
			success : function(label) {
				label.html("&nbsp;").addClass("ok");
			}
		});
	});